package com.huilian.iotbox.data.po;

import com.huilian.iotbox.data.dto.QueryParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户会员表
 *
 * @since 2021-01-15 17:03:19
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Member extends QueryParam implements Serializable {

    private static final long serialVersionUID = 4903197947904891372L;
    private Long id;
    /**
     * 昵称
     */
    private String nickName;
    /**
     * 性别
     */
    private Integer sex;
    /**
     * 国籍
     */
    private String country;
    /**
     * 头像
     */
    private String headImgUrl;
    /**
     * 微信开放平台unionId
     */
    private String unionId;
    /**
     * 微信小程序openId
     */
    private String openId;
    /**
     * 微信公众号openId
     */
    private String officialAccountOpenId;
    /**
     * 支付宝unionId
     */
    private String zfbUnionId;
    /**
     * 支付宝userid
     */
    private String zfbUserId;
    /**
     * 头条openid
     */
    private String ttOpenId;
    /**
     * 头条unionid
     */
    private String ttUnionId;

    /**
     * 累计支付
     */
    private BigDecimal totalPay;
    /**
     * 最近一次消费
     */
    private Date latelyPay;
    /**
     * 消费等级：1：潜水  2：回头  3：活跃
     */
    private Integer levelPay;

    /**
     * 生日
     */
    private Date birthday;
    /**
     * 手机号
     */
    private String mobile;
    /**密码*/
    private String password;

    /**
     * 手机号更新时间
     */
    private Date mobileUpdateTime;
    /**
     * 6位取币密码，加密
     */
    private String fetchCoinPwd;
    /**
     * 状态0=异常，1=正常
     */
    private Integer status;
    /**
     * 备注
     */
    private String remark;
    /**
     * 同意用户协议，1：同意，0/null，未同意
     */
    private Boolean userAgreement;
    /**
     * 同意个人信息保护政策，1：同意，0/null，未同意
     */
    private Boolean personalProtectionPolicy;
    /**
     * 微信获取到unionId，支付宝获取userId
     */
    private Boolean acquiredInfo;

    private Date createTime;

    private Date updateTime;
    /**
     * 新用户
     */
    private Boolean firstUser;

}